//
//  ListarViagensViewController.m
//  ViagemBem
//
//  Created by Michel de Sousa Carvalho on 29/10/13.
//  Copyright (c) 2013 Michel de Sousa Carvalho. All rights reserved.
//

#import "ListarViagensViewController.h"
#import "ViagemDAO.h"
#import "Cidade.h"
#import "criarViagemViewController.h"
#import "DetalhesViagemViewController.h"

@interface ListarViagensViewController ()
@property (nonatomic, strong) NSArray *historicoViagem;
@property (weak, nonatomic) IBOutlet UITableView *tableHistoricoViagens;

@end

@implementation ListarViagensViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewWillAppear:(BOOL)animated
{
    self.historicoViagem = [ViagemDAO listarTodasViagemDoUsuario:self.usuario.login];
    [self.tableHistoricoViagens reloadData];
    
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tableHistoricoViagens.delegate = self;
    self.tableHistoricoViagens.dataSource =  self;
    self.historicoViagem = [ViagemDAO listarTodasViagemDoUsuario:self.usuario.login];
	// Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
//    return [self.produto.nomesDosProdutosNaLista count];
    return [self.historicoViagem count];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"SegueCriarViagem"]) {
       /* UINavigationController *navi = [segue destinationViewController];
        ListarViagensViewController *listar = navi.viewControllers[0];
        listar.usuario = self.usuario; //Envia o objeto usuário para a próxima view*/
        UINavigationController *navi = [segue destinationViewController];
        criarViagemViewController *criar = [segue destinationViewController];
        criar.usuario = self.usuario; //Envia o objeto usuário para a próxima view
    }
    if ([[segue identifier] isEqualToString:@"segueDetalhesViagens"]) {
        DetalhesViagemViewController *detalhesViagem = [segue destinationViewController];
        detalhesViagem.viagem = sender;
        detalhesViagem.usuario = self.usuario;
    }
}


- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
            }
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    cell.backgroundColor= [UIColor clearColor];
    NSString *cidadeOrigem = [@" De " stringByAppendingString:[((Viagem *)self.historicoViagem[[indexPath row]]).cidadeOrigem.nome stringByAppendingString:@" para "]];
    NSString *cidadeDestino = ((Viagem *)self.historicoViagem[[indexPath row]]).cidadeDestino.nome;
    
    
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"dd/MM/yyyy"];
    NSString *dataInicial = [@"de " stringByAppendingString:[[dateFormat stringFromDate:((Viagem *)self.historicoViagem[[indexPath row]]).dataInicial] stringByAppendingString:@" a "]];
    NSString *dataFinal = [dateFormat stringFromDate:((Viagem *)self.historicoViagem[[indexPath row]]).dataFinal];
    cell.textLabel.text = [cidadeOrigem stringByAppendingString:cidadeDestino];
    cell.detailTextLabel.text = [dataInicial stringByAppendingString: dataFinal];
    
    return cell;
}

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
//    UITableViewCell *tableViewCell = [tableView cellForRowAtIndexPath:indexPath];
    
    NSInteger linhaSelecionada = indexPath.row;
    Viagem *viagem = [self.historicoViagem objectAtIndex:linhaSelecionada];
    [self performSegueWithIdentifier:@"segueDetalhesViagens" sender:viagem];
    
    
    
}



@end
